Software that requires user interaction typically operates through a user interface (UI), which may include buttons, menus, dialog boxes, scroll bars and the like. UI's are typically designed for the population at large. Consequently, some UI's may be too basic for certain users having advanced knowledge. Further, typically the default UI's cannot be set by the users.